#ifndef LOGGER_HPP
#define LOGGER_HPP

#include <QtCore>
#include <iostream>
#include <cstdio>
#include <cstdlib>

using namespace std;

class Logger
{
public:

    typedef enum {
      Note,
      Debug,
      Warning,
      Error,
    } LoggingMode;

    static void initializeFile( QString filename );
    static void releaseFile();
    static void write( QString message, LoggingMode mode );
    static void write( QString className, QString functionName, QString msg, LoggingMode mode );

private:
    static QFile file;
    static QTextStream out;

    Logger();
};

#endif // LOGGER_HPP
